home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / HPACK78S.ZIP / makefile < prev    next >
Makefile  |  1992-11-29  |  11KB  |  303 lines

  1. #****************************************************************************
  2. #*                                                                            *
  3. #*            Makefile for the Unix version of the HPACK archiver                *
  4. #*                                                                            *
  5. #****************************************************************************
  6.  
  7. # The OS and OS mutation we are compiling under.  Currently handled (but
  8. # not necessarily by this makefile) types are __AMIGA__, __ATARI__, __MAC__,
  9. # __MSDOS__, __OS2__(TOPSPEED, 32BIT), __UNIX__ (AIX, AIX370, AIX386, GENERIC,
  10. # IRIX, ISC, LINUX, MINT, POSIX, SUNOS, SVR4, ULTRIX, ULTRIX_OLD).
  11. # Partially handled types are __IIGS__, __VMS__.
  12.  
  13. OS            = -D__UNIX__
  14.  
  15. # The various system-dependant defines from above:
  16.  
  17. DEFINES        = $(OS)
  18.  
  19. # AIX for the RS6000: Use cc.  Differs from AIX370/386 in endianness
  20. #        AIX - Peter Gutmann, pgut1@cs.aukuni.ac.nz
  21. # AIX386: Use cc
  22. # AIX370: Use cc
  23. #        AIX386, AIX370 - Peter, stud11@cc4.kuleuven.ac.be
  24. # Irix: Use cc with the -acpp flag for maximum ANSI-ness
  25. #        Irix 3.3.2 - Stuart Woolford, stuartw@ccu1.aukuni.ac.nz
  26. # ISC Unix: Use gcc
  27. #        ISC Unix SVR3.2 v2.2.1 - David Nugent, david@csource.oz.au
  28. # Linux: Use gcc
  29. #        Linux 0.98 - Jacques Grove, 9230971@sunvax.sun.ac.za
  30. # MiNT: Use gcc
  31. #        MiNT 0.98 - Stephan Neuhaus, neuhaus@informatik.uni-kl.de
  32. # QNX 4.x: Use cc -ml, no -lcurses, ld -N32768 -ml
  33. #        QNX 4.0 - Stuart Woolford, stuartw@ccu1.aukuni.ac.nz
  34. # SunOs: Use gcc.  Don't use the Sun acc which breaks the decompressor
  35. #        SunOs 4.1 - Peter Gutmann, pgut1@cs.aukuni.ac.nz
  36. # SVR4: Use cc
  37. #        SVR4 - Jean-loup Gailly, jloup@chorus.fr
  38. # Ultrix: Use vcc or gcc. Use rm on cc
  39. #        Ultrix 4.1 - Peter Gutmann, pgut1@cs.aukuni.ac.nz
  40. #        Ultrix 3.1 - John Whittington, whitting@scl.cwru.edu
  41. # Esix:  Run away!  Run away!
  42.  
  43. PROJ    = hpack
  44.  
  45. CFLAGS    = -c $(DEFINES) -O -I. $(CMDC)    # Flags for compiler
  46.  
  47. LFLAGS    = -o $(PROJ) -lcurses $(CMDL)    # Flags for linker
  48.  
  49. OUTPATH    =                    # Where object files go (/tmp is a good place)
  50. OBJ        = .o                # Extension for object files
  51. EXE        =                    # Extension for executables
  52.  
  53. LD        = $(CC)                # Linker (just use the C compiler)
  54. LS        = ls -l                # Directory command
  55. ECHO    = echo                # Echo to screen command
  56. MAKE    = make                # The make command
  57.  
  58. #****************************************************************************
  59. #*                                                                            *
  60. #*            If no args are given, print a usage message and exit            *
  61. #*                                                                            *
  62. #****************************************************************************
  63.  
  64. default:
  65.         @$(ECHO)
  66.         @$(ECHO) "You have to enter the Unix variant you want to build HPACK for."
  67.         @$(ECHO) "Possible options are: aix (RS6000), aix370, aix386, irix, isc, qnx, sun,"
  68.         @$(ECHO) "svr4, ultrix, and ultrix_old (Ultrix 3.x or earlier).  If none of the above"
  69.         @$(ECHO) "fit, try 'make generic', and send a copy of any changes necessary to the"
  70.         @$(ECHO) "author, pgut1@cs.aukuni.ac.nz or peterg@kcbbs.gen.nz."
  71.         @$(ECHO)
  72.  
  73. love:
  74.         @$(ECHO) "Nicht wahr?"
  75.         @$(ECHO)
  76.  
  77. #****************************************************************************
  78. #*                                                                            *
  79. #*                                Rules to build HPACK                        *
  80. #*                                                                            *
  81. #****************************************************************************
  82.  
  83. $(OUTPATH)arcdir$(OBJ):        arcdir.h defs.h error.h flags.h hpacklib.h \
  84.                             system.h tags.h io/fastio.h arcdir.c
  85.                             $(CC) $(CFLAGS) arcdir.c
  86.  
  87. $(OUTPATH)arcdirio$(OBJ):    arcdir.h filehdr.h choice.h defs.h error.h \
  88.                             hpacklib.h flags.h system.h crc/crc16.h \
  89.                             crypt/crypt.h io/fastio.h io/hpackio.h \
  90.                             store/store.h arcdirio.c
  91.                             $(CC) $(CFLAGS) -DARCHIVE_TYPE=3 arcdirio.c
  92.  
  93. $(OUTPATH)archive$(OBJ):    arcdir.h filehdr.h choice.h defs.h error.h \
  94.                             filesys.h flags.h frontend.h hpacklib.h system.h \
  95.                             tags.h crypt/crypt.h io/fastio.h io/hpackio.h \
  96.                             store/store.h archive.c
  97.                             $(CC) $(CFLAGS) archive.c
  98.  
  99. $(OUTPATH)cli$(OBJ):        arcdir.h choice.h defs.h error.h filesys.h \
  100.                             flags.h frontend.h hpacklib.h language/hpaktext.h \
  101.                             system.h wildcard.h crypt/crypt.h io/fastio.h \
  102.                             cli.c
  103.                             $(CC) $(CFLAGS) cli.c
  104.  
  105.  
  106. $(OUTPATH)error$(OBJ):        arcdir.h defs.h filehdr.h error.h errorlvl.h \
  107.                             flags.h frontend.h hpacklib.h system.h \
  108.                             crypt/crypt.h io/fastio.h io/hpackio.h \
  109.                             store/store.h error.c
  110.                             $(CC) $(CFLAGS) error.c
  111.  
  112. $(OUTPATH)filesys$(OBJ):    arcdir.h defs.h filehdr.h error.h flags.h \
  113.                             frontend.h hpacklib.h system.h tags.h io/fastio.h \
  114.                             io/hpackio.h filesys.c
  115.                             $(CC) $(CFLAGS) filesys.c
  116.  
  117. $(OUTPATH)frontend$(OBJ):    arcdir.h filehdr.h choice.h defs.h error.h \
  118.                             filesys.h flags.h frontend.h hpacklib.h system.h \
  119.                             tags.h wildcard.h crypt/crypt.h io/fastio.h \
  120.                             io/hpackio.h store/store.h frontend.c
  121.                             $(CC) $(CFLAGS) frontend.c
  122.  
  123. $(OUTPATH)script$(OBJ):        arcdir.h choice.h defs.h error.h filesys.h \
  124.                             flags.h frontend.h hpacklib.h \
  125.                             language/hpaktext.h system.h wildcard.h \
  126.                             io/fastio.h io/hpackio.h
  127.                             $(CC) $(CFLAGS) script.c
  128.  
  129. $(OUTPATH)tags$(OBJ):        defs.h error.h hpacklib.h system.h tags.h \
  130.                             io/fastio.h tags.c
  131.                             $(CC) $(CFLAGS) tags.c
  132.  
  133. $(OUTPATH)unix$(OBJ):        defs.h error.h flags.h frontend.h hpacklib.h \
  134.                             system.h tags.h io/hpackio.h unix.c
  135.                             $(CC) $(CFLAGS) unix.c
  136.  
  137. $(OUTPATH)viewfile$(OBJ):    arcdir.h choice.h defs.h error.h filehdr.h \
  138.                             flags.h frontend.h hpacklib.h \
  139.                             language/hpaktext.h system.h tags.h wildcard.h \
  140.                             io/fastio.h io/hpackio.h viewfile.c
  141.                             $(CC) $(CFLAGS) viewfile.c
  142.  
  143. $(OUTPATH)wildcard$(OBJ):    defs.h error.h system.h wildcard.h wildcard.c
  144.                             $(CC) $(CFLAGS) wildcard.c
  145.  
  146. $(OUTPATH)crc16$(OBJ):        defs.h crc/crc16.c
  147.                             $(CC) $(CFLAGS) crc/crc16.c
  148.  
  149. $(OUTPATH)crypt$(OBJ):        arcdir.h choice.h defs.h error.h hpacklib.h \
  150.                             filesys.h flags.h frontend.h system.h \
  151.                             crypt/crypt.h crypt/md5.h crypt/mdc.h \
  152.                             crypt/packet.h crypt/rsa.h io/fastio.h \
  153.                             io/hpackio.h crypt/crypt.c
  154.                             $(CC) $(CFLAGS) crypt/crypt.c
  155.  
  156. $(OUTPATH)md5$(OBJ):        defs.h crypt/md5.h crypt/md5.c
  157.                             $(CC) $(CFLAGS) crypt/md5.c
  158.  
  159. $(OUTPATH)mdc$(OBJ):        defs.h error.h hpacklib.h crypt/crypt.h \
  160.                             crypt/mdc.h crypt/mdc.c
  161.                             $(CC) $(CFLAGS) crypt/mdc.c
  162.  
  163. $(OUTPATH)rsa$(OBJ):        defs.h crypt/rsa.h crypt/rsa.c
  164.                             $(CC) $(CFLAGS) crypt/rsa.c
  165.  
  166. $(OUTPATH)display$(OBJ):    defs.h frontend.h hpacklib.h io/display.c
  167.                             $(CC) $(CFLAGS) io/display.c
  168.  
  169. $(OUTPATH)fastio$(OBJ):        arcdir.h defs.h error.h flags.h frontend.h \
  170.                             hpacklib.h system.h crc/crc16.h crypt/crypt.h \
  171.                             data/ebcdic.h io/fastio.h io/hpackio.h \
  172.                             io/fastio.c
  173.                             $(CC) $(CFLAGS) io/fastio.c
  174.  
  175. $(OUTPATH)hpaktext$(OBJ):    defs.h error.h errorlvl.h language/hpaktext.c
  176.                             $(CC) $(CFLAGS) language/hpaktext.c
  177.  
  178. $(OUTPATH)lza$(OBJ):        defs.h choice.h error.h flags.h hpacklib.h system.h \
  179.                             crc/crc16.h crypt/crypt.h io/fastio.h \
  180.                             io/hpackio.h lza/model.h lza/model2.h lza/model3.h \
  181.                             lza/model4.h lza/lza.c
  182.                             $(CC) $(CFLAGS) lza/lza.c
  183.  
  184. $(OUTPATH)model$(OBJ):        defs.h error.h flags.h hpacklib.h io/hpackio.h \
  185.                             lza/model.h lza/model.c
  186.                             $(CC) $(CFLAGS) lza/model.c
  187.  
  188. $(OUTPATH)model2$(OBJ):        defs.h lza/model2.h lza/model2.c
  189.                             $(CC) $(CFLAGS) lza/model2.c
  190.  
  191. $(OUTPATH)model3$(OBJ):        defs.h lza/model3.h lza/model3.c
  192.                             $(CC) $(CFLAGS) lza/model3.c
  193.  
  194. $(OUTPATH)model4$(OBJ):        defs.h lza/model4.h lza/model4.c
  195.                             $(CC) $(CFLAGS) lza/model4.c
  196.  
  197. $(OUTPATH)pack$(OBJ):        defs.h io/hpackio.h io/fastio.h lza/pack.c
  198.                             $(CC) $(CFLAGS) lza/pack.c
  199.  
  200. $(OUTPATH)unpack$(OBJ):        defs.h crc/crc16.h io/hpackio.h io/fastio.h \
  201.                             lza/model.h lza/unpack.c
  202.                             $(CC) $(CFLAGS) lza/unpack.c
  203.  
  204. $(OUTPATH)store$(OBJ):        defs.h error.h hpacklib.h system.h crc/crc16.h \
  205.                             crypt/crypt.h io/fastio.h io/hpackio.h \
  206.                             store/store.h store/store.c
  207.                             $(CC) $(CFLAGS) store/store.c
  208.  
  209. $(PROJ)$(EXE):    $(OUTPATH)arcdir$(OBJ) $(OUTPATH)arcdirio$(OBJ) \
  210.                 $(OUTPATH)archive$(OBJ) $(OUTPATH)cli$(OBJ) \
  211.                 $(OUTPATH)display$(OBJ) $(OUTPATH)error$(OBJ) \
  212.                 $(OUTPATH)fastio$(OBJ) $(OUTPATH)filesys$(OBJ) \
  213.                 $(OUTPATH)frontend$(OBJ) $(OUTPATH)hpaktext$(OBJ) \
  214.                 $(OUTPATH)script$(OBJ) $(OUTPATH)tags$(OBJ) \
  215.                 $(OUTPATH)viewfile$(OBJ) $(OUTPATH)wildcard$(OBJ) \
  216.                 $(OUTPATH)crc16$(OBJ) $(OUTPATH)crypt$(OBJ) \
  217.                 $(OUTPATH)md5$(OBJ) $(OUTPATH)mdc$(OBJ) \
  218.                 $(OUTPATH)rsa$(OBJ) $(OUTPATH)unix$(OBJ) \
  219.                 $(OUTPATH)lza$(OBJ) $(OUTPATH)model$(OBJ) \
  220.                 $(OUTPATH)model2$(OBJ) $(OUTPATH)model3$(OBJ) \
  221.                 $(OUTPATH)model4$(OBJ) $(OUTPATH)pack$(OBJ) \
  222.                 $(OUTPATH)unpack$(OBJ) $(OUTPATH)store$(OBJ)
  223.         @$(LD) $(LFLAGS) $(OUTPATH)arcdir$(OBJ) $(OUTPATH)arcdirio$(OBJ) \
  224.         $(OUTPATH)archive$(OBJ) $(OUTPATH)cli$(OBJ) $(OUTPATH)display$(OBJ) \
  225.         $(OUTPATH)error$(OBJ) $(OUTPATH)fastio$(OBJ) $(OUTPATH)filesys$(OBJ) \
  226.         $(OUTPATH)frontend$(OBJ) $(OUTPATH)hpaktext$(OBJ) \
  227.         $(OUTPATH)script$(OBJ) $(OUTPATH)tags$(OBJ) $(OUTPATH)viewfile$(OBJ) \
  228.         $(OUTPATH)wildcard$(OBJ) $(OUTPATH)crc16$(OBJ) $(OUTPATH)crypt$(OBJ) \
  229.         $(OUTPATH)md5$(OBJ) $(OUTPATH)mdc$(OBJ) $(OUTPATH)rsa$(OBJ) \
  230.         $(OUTPATH)unix$(OBJ) $(OUTPATH)store$(OBJ) $(OUTPATH)lza$(OBJ) \
  231.         $(OUTPATH)model$(OBJ) $(OUTPATH)model2$(OBJ) $(OUTPATH)model3$(OBJ) \
  232.         $(OUTPATH)model4$(OBJ) $(OUTPATH)pack$(OBJ) $(OUTPATH)unpack$(OBJ)
  233.  
  234. #****************************************************************************
  235. #*                                                                            *
  236. #*                        Defines for each variation of Unix                    *
  237. #*                                                                            *
  238. #****************************************************************************
  239.  
  240. # AIX for the RS6000: Use cc.  Differs from AIX370/386 in endianness
  241.  
  242. aix:
  243.         @$(MAKE) hpack CMDC="-DAIX" CC="cc"
  244.  
  245. # AIX370, AIX386: Use cc
  246.  
  247. aix370:
  248.         @$(MAKE) hpack CMDC="-DAIX370" CC="cc"
  249. aix386:
  250.         @$(MAKE) hpack CMDC="-DAIX386" CC="cc"
  251.  
  252. # AUX: The only Unix so bloated it has /etc.etc.etc
  253.  
  254. # Generic: Generic BSD-ish system running gcc
  255.  
  256. generic:
  257.         @$(ECHO)
  258.         @$(ECHO) "You should set up your processor endianness in defs.h before compiling"
  259.         @$(ECHO) "HPACK if you want to use the encryption functions."
  260.         @$(MAKE) hpack CMDC="-DGENERIC" CC="gcc"
  261.  
  262. # Irix: Use cc with the -acpp flag for maximum ANSI-ness
  263.  
  264. irix:
  265.         @$(MAKE) hpack CMDC="-acpp -DIRIX" CC="cc"
  266.  
  267. # ISC Unix: Use gcc
  268.  
  269. isc:
  270.         @$(MAKE) hpack CMDC="-DISC" CC="gcc"
  271.  
  272. # Linux: Use gcc
  273.  
  274. linux:
  275.         @$(MAKE) hpack CMDC="-DLINUX" CC="gcc"
  276.  
  277. # MiNT: Use gcc
  278.  
  279. mint:
  280.         @$(MAKE) hpack CMDC="-DMINT" CC="gcc"
  281.  
  282. # QNX 4.x: Use cc -ml, no -lcurses, ld -N32768, -ml
  283.  
  284. qnx:
  285.         @$(MAKE) hpack CMDC="-ml -DPOSIX" CMDL="-N32768 -ml" CC="cc"
  286.  
  287. # SunOs: Use gcc.  Don't use the Sun acc which breaks the decompressor
  288.  
  289. sun:
  290.         @$(MAKE) hpack CMDC="-DSUNOS -fno-builtin" CC="gcc"
  291.  
  292. # SVR4: Use cc
  293.  
  294. svr4:
  295.         @$(MAKE) hpack CMDC="-DSVR4" CC="cc"
  296.  
  297. # Ultrix (4.x or newer), Ultrix_old (3.x or older): Use vcc or gcc
  298.  
  299. ultrix:
  300.         @$(MAKE) hpack CMDC="-DULTRIX" CC="gcc"
  301. ultrix_old:
  302.         @$(MAKE) hpack CMDC="-DULTRIX_OLD" CC="gcc"
  303.